Simple XML

Simple XML is a variation of XML containing only elements. All attributes are converted into elements. Not having attributes or other xml elements such as the XML declaration / DTDs allows the use of simple and fast parsers. This format is also compatible with mainstream XML parsers.

Structure

For example:

 <Agenda>
   <type>gardening</type>
   <Activity>
     <type>Watering</type>
     <golf-course>
       <time>6:00</time> 
     </golf-course>
     <yard>
       <time>7:00</time>
     </yard>
   </Activity>
   <Activity> 
     <type>cooking</type>
     <lunch> 
       <time>12:00</time>
     </lunch>
   </Activity>
 </Agenda>

would represent:

 <?xml version="1.0" encoding="UTF-8"?>
 <Agenda type="gardening">
   <Activity type="Watering">
     <golf-course time="6:00"/>
     <yard time="7:00"/>
   </Activity>
   <Activity type="cooking">
     <lunch time="12:00"/>
   </Activity>
 </Agenda>

Validation

Simple XML uses a simple XPath list for validation. The XML snippet above for example, would be represented by:

 /Agenda/type|(Activity/type|(*/time))

or a bit more human readable as:

 /Agenda/type
 /Agenda/Activity/type
 /Agenda/Activity/*/time

This allows the XML to be processed as a stream (without creating an object model in memory) with fast validation.

References

  1. http://www.w3.org/XML/simple-XML.html